import {getUserInfo, login} from "@/api/user";
import {getToken, removeToken, setToken} from "@/utils/auth";

const state = {
  token:getToken(),
  userInfo:{},// 存储用户基本资料的状态
}
const mutations={
  setToken(state,token){
    state.token=token
  },
  // 删除vuex中的token
  removeToken(state){
    // 删除vuex中token
    state.token=null
    removeToken()
  },
  // 设置用户资料
  setUserInfo(state,userInfo){
    state.userInfo=userInfo
  }
}
const actions={
  async login(context,data){
    // console.log(data)
  const token = await login(data)
    context.commit('setToken',token)
    // 同步缓存
    setToken(token)
    console.log(token)
  },
  // 获取用户资料
  async getUserInfo(context){
    const result = await getUserInfo()
    context.commit('setUserInfo',result)
  },
  // 退出登录
  logout(context){
    context.commit('removeToken')// 删除token
    context.commit('setUserInfo',{})// 删除用户西悉尼
  }
}
export default {
  namespaced:true,
  state,
  mutations,
  actions
}
